Skip final build in DBP fixture test#2861
Conversation
The DBP fixture checks that the executable root actor is selected by reading generated main.c. It does not run the linked binary for that subcase, so the final Zig build only adds test time. Keep the DBP compiler work and generated-C assertion, but pass --skip-build for that subcase so the test stops compiling and linking a binary it never uses.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 905509fd57
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| removeIfExists (typesDir </> "main.root.c") | ||
| sixthLog <- assertOk "dbp keeps executable root actor" =<< | ||
| runBuild ["build", "--verbose", "--dbp", "main", "--dbp", "provider", "--color", "never"] | ||
| runBuild ["build", "--skip-build", "--verbose", "--dbp", "main", "--dbp", "provider", "--color", "never"] |
There was a problem hiding this comment.
Restore the DBP root build coverage
Adding --skip-build here means this subcase no longer regenerates main.root.c after the test deletes it above, because skip_build returns before zigBuild, and writeRootC is only called from zigBuild in compiler/acton/Main.hs. This lets the test pass while the DBP executable-root path is unable to produce/link an executable root stub; the main.c assertion only proves the actor body was emitted, not that acton build --dbp main can still build the binary entry point.
Useful? React with 👍 / 👎.
The DBP fixture checks that the executable root actor is selected by reading generated
main.c. It does not run the linked binary for that subcase, so the final Zig build only adds test time.This keeps the DBP compiler work and generated-C assertion, but passes
--skip-buildfor that subcase so the test stops compiling and linking a binary it never uses.